package io.qifan.desktop.client.state;

import io.qifan.desktop.api.protocol.request.ConnectReqMsg;

public abstract class AbstractOrderState implements OrderState {
    protected void connect0(ConnectReqMsg connectReqMsg) {
        throw new RuntimeException("当前状态无法操作");
    }


    protected void receiveConnect0(ConnectReqMsg connectReqMsg) {
        throw new RuntimeException("当前状态无法操作");
    }

    protected void disconnect0() {
        throw new RuntimeException("当前状态无法操作");
    }

    @Override
    public void sendConnection(ConnectReqMsg connectReqMsg) {
        connect0(connectReqMsg);
    }

    public final void receiveConnection(ConnectReqMsg connectReqMsg) {
        this.receiveConnect0(connectReqMsg);
    }

    public final void sendDisconnection() {
        this.disconnect0();
    }

    public final void receivePicture() {

    }

    public final void sendMouseCommand() {

    }

    public final void receiveMouseCommand() {

    }

    public final void sendKeyboardCommand() {

    }

    public final void receiveKeyboardCommand() {

    }

    public final void sendPicture() {

    }
}
